<!doctype HTML public "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Click to Convert 5.2: Anything to HTML -->
<!-- http://www.clicktoconvert.com -->

<html>
<head>
<title>gravityboxscheduleuserguide - page 29 of 234</title>
<meta http-equiv=content-type content=text/html;charset=iso-8859-1>
<meta name="Generator" content="Click to Convert">

<!--Start of page styles-->
<STYLE TYPE="text/css">
<!--
 /* Foreground Image Styles */

 /* Position Styles */
 .ts29p0{position:absolute;left:106px;top:97px;}
 .ts29p1{position:absolute;left:352px;top:97px;}
 .ts29p3{position:absolute;left:672px;top:97px;}
 .ts29p7{position:absolute;left:106px;top:113px;}
 .ts29p8{position:absolute;left:706px;top:1026px;}
 .ts29p9{position:absolute;left:331px;top:1044px;}
 .ts29p13{position:absolute;left:291px;top:146px;}
 .ts29p14{position:absolute;left:291px;top:164px;}
 .ts29p15{position:absolute;left:291px;top:183px;}
 .ts29p17{position:absolute;left:106px;top:201px;}
 .ts29p18{position:absolute;left:106px;top:220px;}
 .ts29p19{position:absolute;left:106px;top:238px;}
 .ts29p20{position:absolute;left:106px;top:256px;}
 .ts29p22{position:absolute;left:106px;top:275px;}
 .ts29p23{position:absolute;left:106px;top:293px;}
 .ts29p24{position:absolute;left:106px;top:312px;}
 .ts29p25{position:absolute;left:106px;top:330px;}
 .ts29p27{position:absolute;left:106px;top:348px;}
 .ts29p29{position:absolute;left:106px;top:367px;}
 .ts29p30{position:absolute;left:106px;top:385px;}
 .ts29p32{position:absolute;left:106px;top:422px;}
 .ts29p33{position:absolute;left:106px;top:440px;}
 .ts29p34{position:absolute;left:106px;top:459px;}
 .ts29p35{position:absolute;left:106px;top:477px;}
 .ts29p37{position:absolute;left:106px;top:496px;}
 .ts29p38{position:absolute;left:106px;top:514px;}
 .ts29p39{position:absolute;left:106px;top:532px;}
 .ts29p41{position:absolute;left:106px;top:551px;}
 .ts29p42{position:absolute;left:106px;top:569px;}
 .ts29p43{position:absolute;left:106px;top:588px;}
 .ts29p47{position:absolute;left:106px;top:606px;}
 .ts29p48{position:absolute;left:106px;top:624px;}
 .ts29p49{position:absolute;left:106px;top:643px;}
 .ts29p51{position:absolute;left:106px;top:661px;}
 .ts29p52{position:absolute;left:106px;top:680px;}
 .ts29p53{position:absolute;left:106px;top:698px;}
 .ts29p56{position:absolute;left:106px;top:716px;}
 .ts29p57{position:absolute;left:106px;top:735px;}
 .ts29p58{position:absolute;left:106px;top:753px;}
 .ts29p59{position:absolute;left:106px;top:772px;}
 .ts29p61{position:absolute;left:106px;top:790px;}
 .ts29p63{position:absolute;left:106px;top:808px;}
 .ts29p64{position:absolute;left:106px;top:827px;}
 .ts29p65{position:absolute;left:106px;top:845px;}
 .ts29p66{position:absolute;left:106px;top:864px;}
 .ts29p68{position:absolute;left:106px;top:882px;}
 .ts29p70{position:absolute;left:106px;top:900px;}
 .ts29p71{position:absolute;left:106px;top:920px;}
 .ts29p73{position:absolute;left:106px;top:938px;}
 .ts29p75{position:absolute;left:106px;top:956px;}
 .ts29p76{position:absolute;left:552px;top:219px;}
 .ts29p78{position:absolute;left:552px;top:231px;}
 .ts29p80{position:absolute;left:552px;top:243px;}
 .ts29p81{position:absolute;left:552px;top:255px;}
 .ts29p82{position:absolute;left:552px;top:267px;}
 .ts29p83{position:absolute;left:552px;top:280px;}
 .ts29p85{position:absolute;left:552px;top:421px;}
 .ts29p87{position:absolute;left:552px;top:433px;}
 .ts29p88{position:absolute;left:552px;top:445px;}
 .ts29p89{position:absolute;left:552px;top:458px;}
 .ts29p90{position:absolute;left:552px;top:470px;}
 .ts29p92{position:absolute;left:552px;top:482px;}

 /* Font Styles */
 .ft0p29{font-style:normal;font-weight:bold;font-size:13px;font-family:arial,sans-serif;color:#000000;}
 .ft1p29{font-weight:normal;}
 .ft2p29{font-style:normal;font-weight:normal;font-size:13px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft3p29{font-style:normal;font-weight:normal;font-size:16px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft4p29{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#000000;}
 .ft5p29{font-style:normal;font-weight:normal;font-size:16px;font-family:arial,sans-serif;color:#000000;}
 .ft6p29{font-style:normal;font-weight:bold;font-size:21px;font-family:arial,sans-serif;color:#808080;}
 .ft7p29{font-style:normal;font-weight:normal;font-size:16px;font-family:"courier new",courier,monospace;color:#000000;}
 .ft8p29{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#FFFFFF;}
 .ft9p29{font-style:normal;font-weight:normal;font-size:11px;font-family:arial,sans-serif;color:#000000;}

 /* Background Style */
 .styleBackground29{position:absolute;left:97px;top:145px}

 /* Navigation Styles */
 .styleNavBarTop{position:absolute;left:0px;top:2px}
 .nb{position:absolute;left:2px;top:0px}
 .nbs{position:absolute;left:0px;top:0px}
 .nbe{position:absolute;left:836px;top:0px}
 .styleNavBarBot{position:absolute;left:0px;top:1117px}
-->
</STYLE>
<!--End of page styles-->

</head>
<body bgcolor="#ffffff" text="#000000" link="#0000FF" Vlink="#660099">

<table id="pageTable" width="836" STYLE="position: relative; left: auto; top: auto;"><tr><td>
<div class=nbs><img src="./navbarstart.gif" width="2" height="30"></div>
<div class=nb><img src="./navbar.gif" width="836" height="30" alt="Navigation bar"></div>
<div class=nbe><img src="./navbarend.gif" width="2" height="30"></div>
<div class=styleNavBarTop>
<table width="834" height="26" border="0" cellspacing="0">
  <tr align="left">
    <td width="4">&nbsp;</td>
    <td width="25" align="center"><a href="http://www.gravitybox.com" target="_parent"><img src="./home.gif" border="0" alt="Home"></a></td>
    <td width="25" align="center"><a href="#" onClick="window.open('./print.html','Printing','width=300,height=100,toolbar=no,directories=no');return false;"><img src="./print.gif" border="0" alt="Print document"></a></td>
    <td width="10" align="center"><img src="./separator.gif" border="0"></td>
    <td width="18" align="center"><a href="./index1.html"><img src="./start.gif" width="18" height="14" border="0" alt="Start"></a></td>
    <td width="18" align="center"><a href="./index28.html"><img src="./back.gif" width="14" height="14" border="0" alt="Previous page"></a></td>
    <td width="80" valign="middle"><table width="100%" height="16" border="0" cellspacing="1" bgcolor="#ACA899"><tr><td align="center" bgcolor="#ffffff"><font face=verdana,arial,sans-serif><font size="1">&nbsp;29 of 234&nbsp;</font></font></td></tr></table></td>
    <td width="18" align="center"><a href="./index30.html"><img src="./forward.gif" width="14" height="14" border="0" alt="Next page"></a></td>
    <td width="18" align="center"><a href="./index234.html"><img src="./end.gif" width="18" height="14" border="0" alt="End"></a></td>
    <td width="620">&nbsp;</td>
  </tr>
</table>
<p>
</div>
<nobr>
<div class=styleBackground29><img src="./background29.png" width="640" height="910" border="0" alt=""></div>
<div class=ts29p0><span class="ft0p29"> </span></div>
<div class=ts29p1><span class="ft0p29">Gravitybox Schedule Primer<span class="ft1p29"> </span></span></div>
<div class=ts29p3><span class="ft0p29">Page 27&nbsp; </span></div>
<div class=ts29p7><span class="ft2p29"> </span></div>
<div class=ts29p8><span class="ft3p29"> </span></div>
<div class=ts29p9><span class="ft4p29">1998&#45;2004 Gravitybox Software LLC<span class="ft3p29"> </span></span></div>
<div class=ts29p13><span class="ft5p29">parameter of an existing object&#146;s index or name and the new </span></div>
<div class=ts29p14><span class="ft5p29">name to give the object. If the new name already belongs to </span></div>
<div class=ts29p15><span class="ft5p29">another Provider object, an error is raised. </span></div>
<div class=ts29p17><span class="ft5p29"> </span></div>
<div class=ts29p18><span class="ft5p29">An important feature not to be overlooked is the </span></div>
<div class=ts29p19><span class="ft5p29">ExtraProperties collection. You may store any amount of </span></div>
<div class=ts29p20><span class="ft5p29">extra information using an appointment object&#146;s </span></div>
<div class=ts29p22><span class="ft5p29">&#147;ExtraProperties&#148; collection. This is a collection of name / </span></div>
<div class=ts29p23><span class="ft5p29">value pairs that be used to store anything. You may address </span></div>
<div class=ts29p24><span class="ft5p29">the collection by name or index to retrieve its associated value setting. You may not </span></div>
<div class=ts29p25><span class="ft5p29">need this functionality but if you have a large amount of information to store with a task </span></div>
<div class=ts29p27><span class="ft5p29">this collection is quite useful. </span></div>
<div class=ts29p29><span class="ft5p29"> </span></div>
<div class=ts29p30><span class="ft6p29">NoDropAreas </span></div>
<div class=ts29p32><span class="ft5p29">There are circumstances that require that certain area of a </span></div>
<div class=ts29p33><span class="ft5p29">schedule be blocked from creating and receiving </span></div>
<div class=ts29p34><span class="ft5p29">appointments. The NoDropAreas collection provides this </span></div>
<div class=ts29p35><span class="ft5p29">functionality. This is an added convenience for developers </span></div>
<div class=ts29p37><span class="ft5p29">so that they might not be required to write these </span></div>
<div class=ts29p38><span class="ft5p29">complicated routines themselves. The functionality essentially defines reserved areas of </span></div>
<div class=ts29p39><span class="ft5p29">a schedule. </span></div>
<div class=ts29p41><span class="ft5p29"> </span></div>
<div class=ts29p42><span class="ft5p29">If the user attempts to drag (move or copy) an appointment to a NoDrop zone, the </span></div>
<div class=ts29p43><span class="ft5p29">mouse will turn to a no&#45;drop pointer to indicate that the appointment may not dropped. </span></div>
<div class=ts29p47><span class="ft5p29">When an appointment&#146;s edge touches a NoDrop zone, the appointment will no longer </span></div>
<div class=ts29p48><span class="ft5p29">move, as this would move it into the reserved zone. If the user continues dragging until </span></div>
<div class=ts29p49><span class="ft5p29">the appointment has passed the zone, it will jump to the other side of the NoDrop zone. </span></div>
<div class=ts29p51><span class="ft5p29">There is no way to move an appointment or portion thereof into one of these zones. </span></div>
<div class=ts29p52><span class="ft5p29">There must be a valid portion of the schedule grid available for the entire length of the </span></div>
<div class=ts29p53><span class="ft5p29">appointment. </span></div>
<div class=ts29p56><span class="ft5p29"> </span></div>
<div class=ts29p57><span class="ft5p29">NOTE: Appointments may be scheduled in these zones by using the Add method of the </span></div>
<div class=ts29p58><span class="ft5p29">ScheduleItems collection, however the user may not drop appointments in these areas. </span></div>
<div class=ts29p59><span class="ft5p29">There is a way to determine with code, if an appointment slot is free. You may use the </span></div>
<div class=ts29p61><span class="ft5p29">GetNextFreeSlot method. This will be covered later in chapter 8. </span></div>
<div class=ts29p63><span class="ft5p29"> </span></div>
<div class=ts29p64><span class="ft5p29">There may be days that need to be invalid, for example weekends. A developer might </span></div>
<div class=ts29p65><span class="ft5p29">constructed a loop and walk through all the days on the schedule, check to see if the </span></div>
<div class=ts29p66><span class="ft5p29">date is a weekend day, and add it to this collection. The following code blocks the first </span></div>
<div class=ts29p68><span class="ft5p29">weekend in June 2002. </span></div>
<div class=ts29p70><span class="ft5p29"> </span></div>
<div class=ts29p71><span class="ft7p29">Call NoDropAreas.Add(#6/8/2002#) </span></div>
<div class=ts29p73><span class="ft7p29">Call NoDropAreas.Add(#6/9/2002#)<span class="ft5p29"> </span></span></div>
<div class=ts29p75><span class="ft5p29"> </span></div>
<div class=ts29p76><span class="ft8p29">Quick Tip </span></div>
<div class=ts29p78><span class="ft9p29">You may store any number of </span></div>
<div class=ts29p80><span class="ft9p29">name/value pairs for each </span></div>
<div class=ts29p81><span class="ft9p29">appointment its &#147;ExtraProperties&#148; </span></div>
<div class=ts29p82><span class="ft9p29">collection. Use it to store any amount </span></div>
<div class=ts29p83><span class="ft9p29">of information. </span></div>
<div class=ts29p85><span class="ft8p29">Quick Tip </span></div>
<div class=ts29p87><span class="ft9p29">Mark areas on a schedule as </span></div>
<div class=ts29p88><span class="ft9p29">unavailable for appointment by using </span></div>
<div class=ts29p89><span class="ft9p29">the &#147;NoDropAreas&#148; collection. </span></div>
<div class=ts29p90><span class="ft9p29">Appointments cannot be added, </span></div>
<div class=ts29p92><span class="ft9p29">moved, or copied to these areas. </span></div>
<div class=styleNavBarBot>
<table width="836" border="0" cellspacing="2">
  <tr></tr>
  <tr>
    <td width="118"><a href="http://www.purepage.com"><img src="./smalllogo.gif" width="118" height="46" border="0" alt="http://www.purepage.com"></a></td>
    <td></td>
  </tr>
</table>
</div>

</td></tr></table>

</body>
</html>
